Perceptual detail and acutance enhancement for digital images

ABSTRACT

A method for increasing the perceived quality of a digital image. The method includes receiving a first luminance value associated with a pixel located at a first pixel location in the digital image; generating a second luminance value based on a random number; blending the first luminance value and the second luminance value to generate an output luminance value; and displaying on a display device at the first pixel location or storing in a memory an output pixel having a brightness based on the output luminance value.

BACKGROUND

1. Field of the Invention

The present invention relates to the field of computer graphics and, inparticular, to perceptual detail and acutance enhancement for digitalimages.

2. Description of the Related Art

Digital videos and/or digital images are typically associated with aparticular encoding technique and/or a particular resolution. However,the quality of the digital video and/or digital image can be visuallycompromised as a result of poor encoding or poor video resolution. Poorvideo quality distracts viewers from the content and negatively impactsthe viewer experience. In particular, the human eye is very sensitive torepeating patterns or geometric patterns introduced with many encodingtechniques. Artifacts from high compression, low bitrates, among others,decrease visual detail and acutance. Acutance is typically related toedge contrast in a video or image. Encoding and compression also createsposterization or “flat” spots in imagery that includes smooth gradientsor details with very similar shades and colors.

In addition, digital videos and/or digital images are often displayed atresolutions greater than their native resolution. For example, a smallvideo can be played back at “full screen” resolution. Bicubic orbilinear upscaling can be used to fill in missing pixels at the higherresolution, but the “smoothing” effect introduced by these techniquescauses significant blurriness, both actual and perceived. Increasingcontrast, or sharpening images, to compensate for the blurrinessassociated with upscaling exacerbates the video degradation and bringsthe artifacts themselves into sharper focus. Sharpening can also createadditional visual artifacts.

As the foregoing illustrates, there is a need in the art for a techniquethat increases perceived image quality and reduces appearance ofencoding artifacts in digital videos and/or digital images.

SUMMARY

Embodiments of the invention provide techniques for increasing theperceived quality and reducing the appearance of encoding artifacts indigital videos and/or digital images. Embodiments of the invention addstrategically-placed artificial detail into the digital videos and/ordigital images, which the eye perceives as actual detail. The artificialdetail also decreases the perception and visibility of encodingartifacts, such as macro-block chunks, flat spots, posterization,gradient banding, among others. Embodiments of the invention provide asubjectively more pleasing image to the human eye, since, at low levels,the human eye and brain have difficulty distinguishing between actualdetail and artificially-introduced detail.

One embodiment of the invention provides a method for increasing theperceived quality of a digital image. The method includes receiving afirst luminance value associated with a pixel located at a first pixellocation in the digital image; generating a second luminance value basedon a random number; blending the first luminance value and the secondluminance value to generate an output luminance value; and displaying ona display device at the first pixel location or storing in a memory anoutput pixel having a brightness based on the output luminance value.

Advantageously, embodiments of the invention provide an effectivetechnique for improving the perceived quality of digital images,especially digital images that exhibit encoding artifacts, such asupscaled images or highly compressed lossy encodings.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features can be understoodin detail, a more particular description of embodiments of theinvention, briefly summarized above, may be had by reference to theappended drawings. It is to be noted, however, that the appendeddrawings illustrate only typical embodiments of this invention and aretherefore not to be considered limiting, for embodiments of theinvention may admit to other equally effective embodiments.

FIG. 1 is a block diagram of a system configured to implement one ormore aspects of embodiments of the invention.

FIG. 2 is a flow diagram of method steps for perceptual detailenhancement, according to one embodiment of the invention.

FIG. 3 is a flow diagram of method steps for generating a frame ofartificial detail, according to one embodiment of the invention.

FIG. 4 is a flow diagram of method steps for blending a video frame witha frame of artificial detail, according to one embodiment of theinvention.

FIGS. 5A-5B are screenshots illustrating perceptual detail enhancement,according to embodiments of the invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Embodiments of the invention provide techniques for increasing theperceived quality and reducing the appearance of encoding artifacts indigital videos and/or digital images. Embodiments of the invention addstrategically-placed artificial detail into the digital videos and/ordigital images, which the eye perceives as actual detail. The artificialdetail also decreases the perception and visibility of encodingartifacts, such as macro-block chunks, flat spots, posterization,gradient banding, among others. Embodiments of the invention provide asubjectively more pleasing image to the human eye, since, at low levels,the human eye and brain have difficulty distinguishing between actualdetail and artificially-introduced detail.

According to some embodiments, the artificial detail is generated bymodifying individual pixel luminance values. Also, in some embodiments,the deviations are applied only to specific areas of the image based onthe original luminance of the pixel. In some embodiments, moreartificial detail is added into the mid-tones and less artificial detailis introduced into bright highlights and dark areas. Randomness and lackof pattern create a more natural look for the imagery. Embodiments alsoprovide a tuneable algorithm to generate the random artificial detail.

One embodiment of the invention provides a method for increasing theperceived quality of a digital image. The method includes receiving afirst luminance value associated with a pixel located at a first pixellocation in the digital image; generating a second luminance value basedon a random number; blending the first luminance value and the secondluminance value to generate an output luminance value; and displaying ona display device at the first pixel location or storing in a memory anoutput pixel having a brightness based on the output luminance value.

System Overview

FIG. 1 is a block diagram of a system 100 configured to implement one ormore aspects of the present invention. System 100 may be a computerworkstation, personal computer, video game console, personal digitalassistant, rendering engine, mobile phone, hand held device, smartphone, super-smart phone, or any other device suitable for practicingone or more embodiments of the present invention.

As shown, system 100 includes one or more processing units, such ascentral processing unit (CPU) 102, and a system memory 104 communicatingvia a bus path that may include a memory bridge 105. CPU 102 includesone or more processing cores, and, in operation, CPU 102 is the masterprocessor of system 100, controlling and coordinating operations ofother system components. System memory 104 stores software applicationsand data for use by CPU 102. CPU 102 runs software applications andoptionally an operating system. Memory bridge 105, which may be, e.g., aNorthbridge chip, is connected via a bus or other communication path(e.g., a HyperTransport link) to an I/O (input/output) bridge 107. I/Obridge 107, which may be, e.g., a Southbridge chip, receives user inputfrom one or more user input devices 108 (e.g., keyboard, mouse,joystick, digitizer tablets, touch pads, touch screens, still or videocameras, motion sensors, and/or microphones) and forwards the input toCPU 102 via memory bridge 105.

One or more display processors, such as display processor 112, arecoupled to memory bridge 105 via a bus or other communication path(e.g., a PCI Express, Accelerated Graphics Port, or HyperTransportlink); in one embodiment display processor 112 is a graphics subsystemthat includes at least one graphics processing unit (GPU) and graphicsmemory. Graphics memory includes a display memory (e.g., a frame buffer)used for storing pixel data for each pixel of an output image. Graphicsmemory can be integrated in the same device as the GPU, connected as aseparate device with the GPU, and/or implemented within system memory104.

Display processor 112 periodically delivers pixels to a display device110 (e.g., a screen or conventional CRT, plasma, OLED, SED or LCD basedmonitor or television). Additionally, display processor 112 may outputpixels to film recorders adapted to reproduce computer generated imageson photographic film. Display processor 112 can provide display device110 with an analog or digital signal.

A system disk 114 is also connected to I/O bridge 107 and may beconfigured to store content and applications and data for use by CPU 102and display processor 112. System disk 114 provides non-volatile storagefor applications and data and may include fixed or removable hard diskdrives, flash memory devices, and CD-ROM, DVD-ROM, Blu-ray, HD-DVD, orother magnetic, optical, or solid state storage devices.

A switch 116 provides connections between I/O bridge 107 and othercomponents such as a network adapter 118 and various add-in cards 120and 121. Network adapter 118 allows system 100 to communicate with othersystems via an electronic communications network, and may include wiredor wireless communication over local area networks and wide areanetworks such as the Internet.

Other components (not shown), including USB or other port connections,film recording devices, and the like, may also be connected to I/Obridge 107. For example, an audio processor may be used to generateanalog or digital audio output from instructions and/or data provided byCPU 102, system memory 104, or system disk 114. Communication pathsinterconnecting the various components in FIG. 1 may be implementedusing any suitable protocols, such as PCI (Peripheral ComponentInterconnect), PCI Express (PCI-E), AGP (Accelerated Graphics Port),HyperTransport, or any other bus or point-to-point communicationprotocol(s), and connections between different devices may use differentprotocols, as is known in the art.

In one embodiment, display processor 112 incorporates circuitryoptimized for graphics and video processing, including, for example,video output circuitry, and constitutes a graphics processing unit(GPU). In another embodiment, display processor 112 incorporatescircuitry optimized for general purpose processing. In yet anotherembodiment, display processor 112 may be integrated with one or moreother system elements, such as the memory bridge 105, CPU 102, and I/Obridge 107 to form a system on chip (SoC). In still further embodiments,display processor 112 is omitted and software executed by CPU 102performs the functions of display processor 112.

Pixel data can be provided to display processor 112 directly from CPU102. In some embodiments of the present invention, instructions and/ordata representing a scene are provided to a render farm or a set ofserver computers, each similar to system 100, via network adapter 118 orsystem disk 114. The render farm generates one or more rendered imagesof the scene using the provided instructions and/or data. These renderedimages may be stored on computer-readable media in a digital format andoptionally returned to system 100 for display. Similarly, stereo imagepairs processed by display processor 112 may be output to other systemsfor display, stored in system disk 114, or stored on computer-readablemedia in a digital format.

Alternatively, CPU 102 provides display processor 112 with data and/orinstructions defining the desired output images, from which displayprocessor 112 generates the pixel data of one or more output images,including characterizing and/or adjusting the offset between stereoimage pairs. The data and/or instructions defining the desired outputimages can be stored in system memory 104 or graphics memory withindisplay processor 112. In an embodiment, display processor 112 includes3D rendering capabilities for generating pixel data for output imagesfrom instructions and data defining the geometry, lighting shading,texturing, motion, and/or camera parameters for a scene. Displayprocessor 112 can further include one or more programmable executionunits capable of executing shader programs, tone mapping programs, andthe like.

It will be appreciated that the system shown herein is illustrative andthat variations and modifications are possible. The connection topology,including the number and arrangement of bridges, may be modified asdesired. For instance, in some embodiments, system memory 104 isconnected to CPU 102 directly rather than through a bridge, and otherdevices communicate with system memory 104 via memory bridge 105 and CPU102. In other alternative topologies display processor 112 is connectedto I/O bridge 107 or directly to CPU 102, rather than to memory bridge105. In still other embodiments, I/O bridge 107 and memory bridge 105might be integrated into a single chip. The particular components shownherein are optional; for instance, any number of add-in cards orperipheral devices might be supported. In some embodiments, switch 116is eliminated, and network adapter 118 and add-in cards 120, 121 connectdirectly to I/O bridge 107.

According to embodiments of the invention, artificial detail is addedinto digital imagery to increase perceived quality and reduce theappearance of encoding artifacts. Certain embodiments of the inventionmay be implemented in software stored in system memory 104 and executedby CPU 102 and/or display processor 112. Other embodiments may beimplemented as one or more shader programs executed by display processor112. Still further embodiments may be implemented in fixed functionhardware included within display processor 112. Other embodiments may beimplemented as a combination of hardware and software.

Perceptual Detail Enhancement

FIG. 2 is a flow diagram of method steps for perceptual detailenhancement, according to one embodiment of the invention. Personsskilled in the art will understand that, even though the method 200 isdescribed in conjunction with the systems of FIG. 1, any systemconfigured to perform the method steps, in any order, is within thescope of embodiments of the invention.

As shown, the method 200 begins at step 202, where a processor receivesan input frame. In one embodiment, the input frame is a frame of a videosequence. In other embodiments, the input frame is a single image and isnot part of a video sequence. The input frame may be associated with aparticular resolution, e.g., 640×480 pixels. If the input frame isdisplayed on a display device that provides a resolution that is higherthan the resolution of the input frame, then the input frame may bescaled up to increase the size of the display image. In some cases, whenthe input frame is scaled up, visual artifacts are introduced into thescaled input frame. Examples of visual artifacts that may be introduced,include macro-block chunks, flat spots, posterization, gradient banding,among others. Additionally, these and other artifacts can also beintroduced into the input frame based on lossy encoding or compressionof the input frame, even without upscaling. Thus, embodiments of theinvention provide techniques to increase the perceived quality andreduce the appearance of encoding artifacts in the input frame whendisplayed on a display device.

As described in greater detail herein, the processor may be included ina computer system, a video player, or any other type of computer system.For example, the video player may be a set-top box coupled to atelevision, such a receiver (e.g., a cable box or a satellite receiver)or a media player (e.g., CD (compact disc) player, DVD (digitalversatile disc) player, or Blu-Ray disc player, or other media player),among others.

At step 204, the processor receives a frame of artificial detail.According to various embodiments, the frame of artificial detailincludes, for each pixel location, randomly generated values associatedwith an increase or a decrease in the luminance values associated withthe pixel location. In some embodiments, the frame of artificial detailis generated based on the luminance values of the pixels included in theinput frame. In other embodiments, the frame of artificial detail may bepre-computed and is not based on the input frame. For example, asequence of thirty different frames of artificial detail may begenerated. As described in greater detail herein, the pre-computedsequence may then be sequentially overlaid and blended with the originalsource video. Pre-computing the frames of artificial detail, in someembodiments, decreases the computing power required to achieve thedesired effect on video imagery displayed at high resolutions.Additional details associated with generating the frame of artificialdetail are described in FIG. 3.

At step 206, the processor blends the input frame with the frame ofartificial detail to generate an output frame. In one embodiment, ablend weight may be associated with each pixel location in the frame ofartificial detail so that the amount of modification of each pixel inthe input frame is based on the blend weight. For example, the brightestpixels, having a luminance value close the maximum luminance value, andthe darkest pixels, having a luminance value close the minimum luminancevalue, may be less affected than mid-range pixels. Accordingly, theblend weight associated with the pixel locations with the brightestpixels and the darkest pixels in the input frame may be less than theblend weight for mid-range pixels.

In some embodiments, the artificial detail is added to the input imagewithout changing the overall brightness or darkness of the input image.Additionally, overall contrast is maintained. These features may beachieved, in some embodiments, since the number of pixels that areassociated with an increase in luminance is approximately the same asthe number of pixels that are associated with a decrease in luminance.In one embodiment, there is no constraint that requires that the samenumber of pixels has an increase/decrease in luminance, but, rather, theeffect is achieved based on the random values of the artificial detail.In other embodiments, specific constraints may be included in thetechniques described herein to require that the overall brightness ordarkness of the input image remains the same. Also, in some embodiments,the total deviation or strength of the artificial detail that is addedto the input image is approximately equal in both the positive andnegative direction from the original pixel luminance values, causing theoverall brightness to remain the same. Additional details associatedwith blending the input frame with the frame of artificial detail aredescribed in FIG. 4.

FIG. 3 is a flow diagram of method steps for generating a frame ofartificial detail, according to one embodiment of the invention. Personsskilled in the art will understand that, even though the method 300 isdescribed in conjunction with the systems of FIG. 1, any systemconfigured to perform the method steps, in any order, is within thescope of embodiments of the invention.

As shown, the method 300 begins at step 302, where a processor receivesa pixel associated with a first luminance value. In one embodiment, thepixel is associated with a pixel location in a digital image. In someembodiments, the digital image is part of a sequence of digital images,such as a video sequence. Each pixel in the digital image is associatedwith a luminance value associated with the brightness of the pixel. Insome embodiments, the luminance value of the first pixel can becalculated based on one or more chrominance values associated with thepixel.

At step 304, the processor generates a random value associated with amodification to the first luminance value. As described herein, randomlygenerated perceptual detail may be added to the digital image to enhancethe visual quality of the digital image. In some embodiments, a seedvalue is provided that is input into a random number generator togenerate the random value. In some embodiments, the random value islimited to a range of random values, e.g., 0 to 100. For example, whenthe random value falls in the range of 0 to 49, the random value may beassociated with lowering the luminance value of the pixel or darkeningthe pixel, and when the random value falls in the range of 50 and 100,the random value may be associated with increasing the luminance valueof the pixel or brightening the pixel. Also, in some embodiments, theseed value may be based on the x- and y-coordinate locations of theparticular pixel.

At step 306, the processor generates a second luminance value based onthe first luminance value and the random value. In some embodiments, theinitially “darker” pixels become lighter and the initially “lighter”pixels become darker.

In some embodiments, the difference between the second luminance valueand the first luminance value is not as large when the first luminancevalue is near the ends of the luminance spectrum. For example, if apixel is either very bright or very dark, then the difference betweenthe original pixel luminance (i.e., the first luminance value) and themodified pixel luminance (i.e., the second luminance value) is small;whereas, if a pixel is in the mid-range of luminance, then the modifiedpixel luminance can vary by a greater amount based on the random value.This ensures that the darkest blacks and the brightest whites are notchanged significantly, which would likely add visual artifacts to themodified image.

At step 308, the processor determines whether the difference between thefirst luminance value and the second luminance value is greater than adeviation threshold. In some embodiments, a deviation threshold may beimplemented so that the difference between the second luminance valueand the first luminance value is not so large that visual artifacts areintroduced, thereby degrading the perceptual quality of the image.

If, at step 308, the processor determines that the difference betweenthe first luminance value and the second luminance value is not greaterthan the deviation threshold, then the method 300 proceeds to step 310.For example, pixel luminance may be based on a scale of 0 to 255. Afirst pixel may have an original luminance value of 100, and thedeviation threshold may be 25 luminance units. In one example, based onthe random number generated at step 304, the luminance should bedecreased from 100 to 90, a decrease of 10 luminance units. The decreaseof 10 luminance units is within the 25-unit deviation threshold.

At step 310, the processor outputs a modified pixel associated with thesecond luminance value. In the example outlined above, the modifiedpixel would be associated with a luminance value of 90.

If, at step 308, the processor determines that the difference betweenthe first luminance value and the second luminance value is greater thanthe deviation threshold, then the method 300 proceeds to step 312. Atstep 312, the processor clamps the luminance value to the deviationthreshold. For example, pixel luminance may be based on a scale of 0 to255. A first pixel may have an original luminance value of 100, and thedeviation threshold may be 25 luminance units. In one example, based onthe random number generated at step 304, the luminance should bedecreased from 100 to 40, a decrease of 60 luminance units. However,since the deviation threshold is 25 luminance units, the luminance isonly decreased by 25 units from 100 to 75. This “clamping” is alsoapplied in the positive direction, thereby limiting the luminance of thepixel in this example to be increased to a maximum of 125 luminanceunits.

At step 314, the processor outputs a modified pixel associated with theclamped luminance value. In the example outlined above, the modifiedpixel would be associated with a luminance value of 75.

As described herein, each pixel location is evaluated individually andthe resultant output pixel at that pixel location is not based on anyother pixels. According to some embodiments, the method 300 described inFIG. 3 can be repeated for each pixel location in a digital image togenerate a frame of artificial detail. The frame of artificial detailcan then be blended with the original frame, as described in greaterdetail in FIG. 4.

In some embodiments, the random values generated at step 304 and thesecond luminance values generated at step 306 are generated dynamicallyfor each pixel and depend on the luminance values a particular pixel. Inother embodiments, the random values and the second luminance values arepre-computed and are not based on the individual pixel values in aparticular frame. Also, in some embodiments, the various steps describedin FIG. 3 are user-configurable. For example, the deviation thresholdmay be modified to allow from larger deviations in the originalluminance value of a particular pixel.

FIG. 4 is a flow diagram of method steps for blending a video frame witha frame of artificial detail, according to one embodiment of theinvention. Persons skilled in the art will understand that, even thoughthe method 400 is described in conjunction with the systems of FIG. 1,any system configured to perform the method steps, in any order, iswithin the scope of embodiments of the invention.

As shown, the method 400 begins at step 402, where a processor receivesa pixel associated with a first luminance value. As described herein,the pixel may be included in a digital image. The digital image may bepart of a video sequence, i.e., a video frame. The first luminance valueis associated with the “original” luminance value at a particular pixellocation.

At step 404, the processor receives a second luminance value associatedwith artificial detail. In one embodiment, the second luminance valueassociated with the artificial detail is generated using the techniquesdescribed in FIG. 3. In other embodiments, the second luminance valuemay be generated using any technically feasible manner.

At step 406, the processor blends the first luminance value and thesecond luminance value to generate an output luminance value. In oneembodiment, blending the first luminance value and the second luminancevalue comprises taking the average of the first luminance value and thesecond luminance value. In other embodiments, blending the firstluminance value and the second luminance value is based on thebrightness/darkness of the original pixel, i.e., is based on the firstluminance value. In some embodiments, when the first luminance value isnear either end of the luminance spectrum (either bright or dark), asmaller blend weight associated with the second luminance value is used.Thus, the artificial detail associated with the second luminance valuedoes not influence the outcome of the blending operation as much as inmid-range pixels.

At step 408, the processor outputs a pixel associated with the outputluminance value. The method 400 can be repeated for each pixel includedin the digital image to generate an output frame. The output frame canthen be displayed on a display device or stored in a memory, such as aframe buffer, for future display.

FIGS. 5A-5B are screenshots illustrating perceptual detail enhancement,according to embodiments of the invention. FIG. 5A illustrates a videoframe associated with football game, where a quarterback is passing aball to a receiver. In one embodiment, the screenshot shown in FIG. 5Ais associated with displaying the video in a “full-screen” mode.However, the video may have a native resolution that is less than thefull-screen resolution of the display. Thus, the video is upsampled whendisplayed in full-screen mode. As described herein, the upsampled videomay exhibit visual artifacts, such as macro-block chunks, flat spots,posterization, gradient banding, among others.

FIG. 5B illustrates the video frame with artificial detail added,according to one embodiment of the invention. As shown, random detailhas been added to the video frame. As described above in FIGS. 2-4, theartificial detail is added by randomly increasing or decreasing theluminance of each pixel in the video frame. As also described, in someembodiments, the artificial detail to be added/subtracted to aparticular pixel is based on a randomly generated value, clamped to fallwithin a deviation threshold of the original pixel luminance value.Also, in some embodiments, the artificial detail is blended with theoriginal luminance value based, in part, on the original luminancevalue. Thus, in some embodiments, the very bright and very dark pixel donot have much (or possibly any) artificial detail added; whereas pixelsin the mid-range of luminance have more random artificial detail blendedin.

In some embodiments, the techniques described herein are applieddirectly to the digital video or digital image decoding algorithms usedto decompress and display digital videos and/or digital images. In suchcases, no additional client side image processing would be necessarywithin the target display application or device to achieve the desiredeffect. Also, in other embodiments, decompression algorithms maydirectly incorporate these techniques in client side processing, such asin a media player.

In another embodiment, the ratio of artificial detail pixels generatedto actual source pixels can be increased. This feature can be achievedby upscaling a source image to a higher resolution and then applying thetechniques described herein to add perceptual detail. By applyingembodiments of the invention at a 1:1 ratio to actual display devicepixels, i.e., one pixel of artificial detail is generated for each pixelof resolution available on the display device, a larger ratio ofartificial detail pixels generated to actual source pixels is achieved.In this manner, a single original source image pixel that has beenstretched to fill a large area of display device pixels can be injectedwith many smaller artificial detail pixels. Increasing the ratio ofartificial detail pixels to actual source pixels could also be achievedby generating detail on a sub-pixel level and applying the invention toimagery displayed at its native resolution.

Another embodiment of this invention involves stepped scaling andmultiple applications of very subtle artificial detail. For example,artificial detail can be applied at each of a plurality of upscalingstages. For example, an image can be scaled up 200 percent from itsoriginal resolution and then injected with artificial detail using thetechniques described herein. The resultant output can then be upscaledagain with more artificial detail added. The process can be repeatedindefinitely until a target resolution has been reached. This embodimentgenerates and mixes artificial detail of multiple sizes and pixel ratiosinto the imagery, rather than generating the artificial detail at asingle ratio.

Another embodiment of this invention involves obtaining the originalpixel luminance value based on a particular chrominance channel orweighted mix of chrominance channels for that particular pixel.

Another embodiment of this invention involves performing a weightedblend of the original and artificial pixels based upon chrominancevalues of the original pixels. For example this would enable blendingartificial detail pixels with ‘green’ chrominance pixels in a mannersuch that the invention predominantly applies to the green grass of asports field, but not the blue sky.

Another embodiment of this invention involves generating artificialdetail with deviations from an original pixel's chrominance (color orhue) values instead of only deviating the luminance values. Whenartificial detail is blended with the original pixel values, eitherchrominance, luminance, or both could be deviated. As with previousembodiments deviations could be clamped at specific ranges to optimizethe shifts in luminance or chrominance.

In essence the embodiments focused purely on luminance valuemanipulation can be considered to be generating monochromatic artificialdetail. Those treating chrominance channels independently or inaugmentation to luminance values have the capability of generatingchromatic detail or blends.

In still further embodiments, the techniques described herein may beimplemented for groups of pixels. In some embodiments, an M×N block ofpixels may be examined for similarity. If a similarity value associatedwith block of pixels exceeds a threshold value (e.g., a certainpercentage of the pixels in the block of pixels have luminance and/orchrominance values within a particular range), then more artificialdetail may be injected in the block of pixels. For example, if a blockof pixels is mostly the same or similar in color and with similarluminance, then more artificial detail (i.e., using a larger weightingvalue) may be injected to into the block of pixels. However, if anotherblock of pixels includes pixels having varying colors and/or varyingluminance values, then less artificial detail may be injected. Thistechnique may counteract any smoothing or “flat spots” in an image. Insome embodiments, although the block of pixels is examined as a whole,each individual pixel may have artificial detail injected using thetechniques described herein.

In sum, embodiments of the invention provide techniques for increasingthe perceived quality and reducing the appearance of encoding artifactsin digital videos and/or digital images. Embodiments of the inventionadd strategically-placed artificial detail into the digital videosand/or digital images, which the eye perceives as actual detail. Theartificial detail also decreases the perception and visibility ofencoding artifacts, such as macro-block chunks, flat spots,posterization, gradient banding, among others. Embodiments of theinvention provide a subjectively more pleasing image to the human eye,since, at low levels, the human eye and brain have difficultydistinguishing between actual detail and artificially-introduced detail.

Advantageously, embodiments of the invention provide an effectivetechnique for improving the perceived quality of digital images,especially digital images that exhibit encoding artifacts, such asupscaled images.

Various embodiments of the present invention may be implemented as aprogram product for use with a computer system. The program(s) of theprogram product define functions of the embodiments (including themethods described herein) and can be contained on a variety ofcomputer-readable storage media. Illustrative computer-readable storagemedia include, but are not limited to: (i) non-writable storage media(e.g., read-only memory devices within a computer such as CD-ROM disksreadable by a CD-ROM drive, flash memory, ROM chips or any type ofsolid-state non-volatile semiconductor memory) on which information ispermanently stored; and (ii) writable storage media (e.g., floppy diskswithin a diskette drive or hard-disk drive or any type of solid-staterandom-access semiconductor memory) on which alterable information isstored.

The invention has been described above with reference to specificembodiments and numerous specific details are set forth to provide amore thorough understanding of the invention. Persons skilled in theart, however, will understand that various modifications and changes maybe made thereto without departing from the broader spirit and scope ofthe invention as set forth in the appended claims. The foregoingdescription and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense.

What is claimed is:
 1. A method for increasing the perceived quality ofa digital image, the method comprising: receiving a first luminancevalue associated with a pixel located at a first pixel location in thedigital image; generating a second luminance value based on the firstluminance value and a random number; upon determining that a differencebetween the first luminance value and the second luminance value isgreater than a deviation threshold, generating a third luminance valueequal to the deviation threshold; blending the first luminance value andthe third luminance value to generate an output luminance value; anddisplaying on a display device at the first pixel location or storing ina memory an output pixel having a brightness based on the outputluminance value.
 2. The method according to claim 1, wherein the stepsof receiving the first luminance value, generating the second luminancevalue, generating the third luminance value, and blending the firstluminance value and the third luminance value are repeated for eachpixel location in the digital image.
 3. The method according to claim 1,wherein the pixel is included in a group of pixels associated with aweight value corresponding to a similarity characteristic of the pixelsincluded in the group of pixels.
 4. The method according to claim 1,wherein the first pixel location in the digital image is defined by atwo-dimensional coordinate, and further comprising the step ofgenerating the random number based on the two-dimensional coordinate. 5.The method according to claim 1, wherein a weight associated with thesecond luminance value in the blending step is based on the firstluminance value.
 6. The method according to claim 5, wherein the weightis larger when the first luminance value resides within the middle of aluminance spectrum than when the first luminance value resides at eitherend of the luminance spectrum.
 7. The method according to claim 1,wherein the difference between the output luminance value and the firstluminance value is perceived as artificial detail.
 8. The methodaccording to claim 1, wherein the digital image is included in asequence of images that comprise a digital video.
 9. A non-transitorycomputer-readable storage medium, storing instructions that whenexecuted by a processor, cause a processor to increase the perceivedquality of a digital image, by performing the steps of: receiving afirst luminance value associated with a pixel located at a first pixellocation in the digital image; generating a second luminance value basedon the first luminance value and a random number; upon determining thata difference between the first luminance value and the second luminancevalue is greater than a deviation threshold, generating a thirdluminance value equal to the deviation threshold; blending the firstluminance value and the second third luminance value to generate anoutput luminance value; and displaying on a display device at the firstpixel location or storing in a memory an output pixel having abrightness based on the output luminance value.
 10. Thecomputer-readable storage medium according to claim 9, wherein the stepsof receiving the first luminance value, generating the second luminancevalue, generating the third luminance value, and blending the firstluminance value and the third luminance value are repeated for eachpixel location in the digital image.
 11. The computer-readable storagemedium according to claim 9, wherein the first pixel location in thedigital image is defined by a two-dimensional coordinate, and furthercomprising the step of generating the random number based on thetwo-dimensional coordinate.
 12. The computer-readable storage mediumaccording to claim 9, wherein a weight associated with the secondluminance value in the blending step is based on the first luminancevalue.
 13. The computer-readable storage medium according to claim 12,wherein the weight is larger when the first luminance value resideswithin the middle of a luminance spectrum than when the first luminancevalue resides at either end of the luminance spectrum.
 14. Thecomputer-readable storage medium according to claim 10, wherein thedifference between the output luminance value and the first luminancevalue is perceived as artificial detail.
 15. The computer-readablestorage medium according to claim 9, wherein the digital image isincluded in a sequence of images that comprise a digital video.
 16. Asystem for increasing the perceived quality of a digital image, thesystem comprising: a processor configured to: receiving a firstluminance value associated with a pixel located at a first pixellocation in the digital image; generating a second luminance value basedon the first luminance value and a random number; upon determining thata difference between the first luminance value and the second luminancevalue is greater than a deviation threshold, generating a thirdluminance value equal to the deviation threshold; blending the firstluminance value and the third luminance value to generate an outputluminance value; and displaying on a display device at the first pixellocation or storing in a memory an output pixel having a brightnessbased on the output luminance value.
 17. The system of claim 16, furthercomprising another memory storing instructions that, when executed bythe processor, configure the processor to: receive the first luminancevalue; generate the second luminance value; blend the first luminancevalue and the second luminance value; and display on the display deviceor storing in the memory the output pixel.
 18. A method for increasingthe perceived quality of a digital image, the method comprising:receiving a first chrominance value associated with a pixel located at afirst pixel location in the digital image; generating a secondchrominance value based on the first chrominance value and a randomnumber; upon determining that a different between the first chrominancevalue and the second chrominance value is greater than a deviationthreshold, generating a third chrominance value equal to the deviationthreshold; blending the first chrominance value and the thirdchrominance value to generate an output chrominance value; anddisplaying on a display device at the first pixel location or storing ina memory an output pixel having a color based on the output chrominancevalue.